Apache POI লাইব্রেরি ব্যবহার করে আপনি প্রোগ্রামেটিকভাবে PowerPoint স্লাইড বা প্রেজেন্টেশন কাস্টমাইজ করতে পারেন। এখানে আপনি স্লাইডের বিভিন্ন বৈশিষ্ট্য যেমন টেক্সট, শেপ, গ্রাফিক্স, ট্রানজিশন, অ্যানিমেশন ইত্যাদি কাস্টমাইজ করতে পারবেন। XSLF ক্লাসের সাহায্যে আপনি স্লাইডের কন্টেন্ট, স্টাইল, এবং অন্যান্য বৈশিষ্ট্য প্রোগ্রামেটিকভাবে পরিবর্তন করতে পারেন।
PowerPoint স্লাইড কাস্টমাইজ করার জন্য, আপনি নিম্নলিখিত কার্যক্রমগুলো করতে পারেন:
PowerPoint স্লাইডের ব্যাকগ্রাউন্ড কাস্টমাইজ করতে আপনি XSLFSlide এর ব্যাকগ্রাউন্ড সেট করতে পারেন।
import org.apache.poi.xslf.usermodel.*;
import org.apache.poi.sl.usermodel.*;
import java.awt.Color;
import java.io.FileOutputStream;
import java.io.IOException;
public class CustomizeSlideBackground {
public static void main(String[] args) {
try {
// নতুন PowerPoint স্লাইডশো তৈরি করা
XMLSlideShow ppt = new XMLSlideShow();
// একটি স্লাইড তৈরি করা
XSLFSlide slide = ppt.createSlide();
// স্লাইডের ব্যাকগ্রাউন্ডের রঙ পরিবর্তন করা
slide.getBackground().setFillColor(Color.CYAN);
// PowerPoint ফাইল সেভ করা
try (FileOutputStream out = new FileOutputStream("example_with_background.pptx")) {
ppt.write(out);
}
System.out.println("PowerPoint presentation with customized background created.");
} catch (IOException e) {
e.printStackTrace();
}
}
}
Color.CYAN
ব্যবহার করা হয়েছে, কিন্তু আপনি যেকোনো রঙ ব্যবহার করতে পারেন।PowerPoint স্লাইডে টেক্সট যোগ করা এবং তার ফন্ট, সাইজ, রঙ ইত্যাদি কাস্টমাইজ করার জন্য আপনি XSLFTextBox ও XSLFTextRun ব্যবহার করতে পারেন।
import org.apache.poi.xslf.usermodel.*;
import java.awt.Color;
import java.io.FileOutputStream;
import java.io.IOException;
public class CustomizeTextInSlide {
public static void main(String[] args) {
try {
// নতুন PowerPoint স্লাইডশো তৈরি করা
XMLSlideShow ppt = new XMLSlideShow();
// একটি স্লাইড তৈরি করা
XSLFSlide slide = ppt.createSlide();
// টেক্সট বক্স তৈরি করা
XSLFTextBox textBox = slide.createTextBox();
XSLFTextParagraph paragraph = textBox.addNewTextParagraph();
XSLFTextRun textRun = paragraph.addNewTextRun();
textRun.setText("Welcome to Apache POI!");
// টেক্সট কাস্টমাইজ করা
textRun.setFontSize(36.0);
textRun.setFontColor(Color.RED);
textRun.setBold(true);
// PowerPoint ফাইল সেভ করা
try (FileOutputStream out = new FileOutputStream("example_with_customized_text.pptx")) {
ppt.write(out);
}
System.out.println("PowerPoint presentation with customized text created.");
} catch (IOException e) {
e.printStackTrace();
}
}
}
PowerPoint স্লাইডে বিভিন্ন ধরনের শেপ যেমন Rectangle, Oval, Line ইত্যাদি যোগ করা যায়। আপনি এগুলির আকার, রঙ, এবং অন্যান্য বৈশিষ্ট্য কাস্টমাইজ করতে পারেন।
import org.apache.poi.xslf.usermodel.*;
import org.apache.poi.sl.usermodel.*;
import java.awt.Color;
import java.io.FileOutputStream;
import java.io.IOException;
public class CustomizeShapeInSlide {
public static void main(String[] args) {
try {
// নতুন PowerPoint স্লাইডশো তৈরি করা
XMLSlideShow ppt = new XMLSlideShow();
// একটি স্লাইড তৈরি করা
XSLFSlide slide = ppt.createSlide();
// শেপ (Rectangle) তৈরি করা
XSLFAutoShape shape = slide.createAutoShape();
shape.setShapeType(ShapeType.RECT);
shape.setAnchor(new java.awt.Rectangle(100, 100, 200, 100)); // শেপের অবস্থান এবং আকার
// শেপের রঙ পরিবর্তন করা
shape.setFillColor(Color.BLUE);
// PowerPoint ফাইল সেভ করা
try (FileOutputStream out = new FileOutputStream("example_with_shape.pptx")) {
ppt.write(out);
}
System.out.println("PowerPoint presentation with customized shape created.");
} catch (IOException e) {
e.printStackTrace();
}
}
}
PowerPoint স্লাইডে ছবি যোগ করার জন্য, আপনি XSLFPictureShape ব্যবহার করতে পারেন।
import org.apache.poi.xslf.usermodel.*;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class AddImageToSlide {
public static void main(String[] args) {
try {
// নতুন PowerPoint স্লাইডশো তৈরি করা
XMLSlideShow ppt = new XMLSlideShow();
// একটি স্লাইড তৈরি করা
XSLFSlide slide = ppt.createSlide();
// ছবির ইনপুট স্ট্রিম
FileInputStream imageStream = new FileInputStream("image.jpg");
// ছবিটি PowerPoint স্লাইডে যোগ করা
byte[] imageData = imageStream.readAllBytes();
int pictureIndex = ppt.addPicture(imageData, PictureData.PictureType.JPEG);
XSLFPictureShape picture = slide.createPicture(pictureIndex);
// ছবির অবস্থান ও আকার সেট করা
picture.setAnchor(new java.awt.Rectangle(100, 100, 400, 300));
// PowerPoint ফাইল সেভ করা
try (FileOutputStream out = new FileOutputStream("example_with_image.pptx")) {
ppt.write(out);
}
System.out.println("PowerPoint presentation with image created.");
} catch (IOException e) {
e.printStackTrace();
}
}
}
Apache POI লাইব্রেরি এখনো PowerPoint স্লাইডের ট্রানজিশন (যেমন Fade, Wipe ইত্যাদি) কাস্টমাইজ করার জন্য পূর্ণ সমর্থন প্রদান করে না। তবে আপনি স্লাইডের হাইপারলিঙ্ক বা এনিমেশন যোগ করতে পারেন, যা কিছুটা ট্রানজিশন প্রভাব সৃষ্টি করে।
Apache POI ব্যবহার করে আপনি PowerPoint স্লাইড এবং প্রেজেন্টেশন কাস্টমাইজ করতে পারেন, যেমন:
এইসব কাস্টমাইজেশন পদ্ধতির মাধ্যমে আপনি একটি PowerPoint প্রেজেন্টেশন সম্পূর্ণভাবে প্রোগ্রামেটিকভাবে তৈরি এবং কাস্টমাইজ করতে পারবেন।